#include <malloc.h> требуется только для объявления функции char *realloc(ptr,size); char *ptr; указатель на ранее захваченный блок памяти unsigned size; новый размер в байтах
Описание.
Функция realloc изменяет размер ранее захваченного блока памяти. Аргумент ptr указывает на начало блока. Аргумент size задает новый размер блока в байтах. Содержимое блока не изменяется. Аргумент ptr может указывать на блок, который должен быть освобожден прежде, чем последуют вызовы calloc, halloc, malloc, realloc .
Возвращаемое значение.
Функция realloc возвращает char-указатель на перезахваченный блок памяти. Блок может быть передвинут, если его размеры изменены, поэтому аргумент ptr для функции realloc не обязательно должен быть таким же, как и возвращаемое значение.
Возвращается значение NULL , если памяти недостаточно, чтобы расширить блок к заданному размеру. Если это происходит, то первоначальный блок освобождается.
В памяти, на которую указывает возвращаемое значение, гарантировано выравнивание для хранения любого типа объекта. Чтобы получить указатель на тип, отличный от char , используется преобразователь типа возвращаемого значения.
Пример:
#include <malloc.h> #include <stdio.h> char *alloc; /* выбирает достаточно большое пространство для 50 символов */ alloc=malloc(50*sizeof(char)); . . . /* перезахватывает блок, который содержит 100 символов */ if (alloc != NULL) alloc=realoc(alloc,100*sizeof(char));